#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>


int main()
{
	fprintf(stdout,"hello normal\n");
	fprintf(stdout,"hello normal\n");
	fprintf(stdout,"hello normal\n");
	fprintf(stdout,"hello normal\n");

	fprintf(stderr,"hello err\n");
	fprintf(stderr,"hello err\n");
	fprintf(stderr,"hello err\n");
	fprintf(stderr,"hello err\n");
	return 0;
}

//int main()
//{
//	int fd = open("log.txt",O_CREAT|O_WRONLY|O_APPEND,0666);
//	if(fd < 0)
//	{
//		perror("open fail");
//		return 1;
//	}
//	dup2(fd,1);
//	int cnt = 5;
//	const char* message = "hello world\n";
//	while(cnt--)
//	{
//		write(1,message,strlen(message));
//	}
//	return 0;
//}


//int main()
//{
//	int fd = open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//	if(fd<0)
//	{
//		perror("open faili");
//		return 1;
//	}
//	dup2(fd,1);
//	printf("fd:%d\n",fd);
//	printf("hello printf\n");
//	fprintf(stdout,"hello fprintf\n");
//	return 0;
//}

//int main()
//{
//	int fd = open("log.txt",O_RDONLY);
//	if(fd < 0)
//	{
//		perror("open fail");
//		return 1;
//	}
//	dup2(fd,0);
//
//	char inbuffer[1024];
//	ssize_t s = read(0,inbuffer,sizeof(inbuffer)-1);
//	if(s>0)
//	{
//		inbuffer[s] = '\0';
//		printf("echo# %s\n",inbuffer);
//	}
//	return 0;
//}

//int main()
//{
//	close(1);	
//	printf("stdin:%d\n",stdin->_fileno);
//	printf("stdout:%d\n",stdout->_fileno);
//	printf("stderr:%d\n",stderr->_fileno);
//
//	fprintf(stderr,"wwwwwwwww\n");
//	return 0;
//}

//int main()
//{
//	int fd = open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0666);
//	if(fd < 0)
//	{
//		perror("open fail");
//		return 1;
//	}
//	const char* message = "aaaaaaaaaaaaaaaaaa\n";
//	write(fd,message,strlen(message));
//	close(fd);
//	return 0;
//}


//int main()
//{
//	umask(0);
//	int fp1 = open("log1.txt",O_WRONLY|O_CREAT,0666);
//	int fp2 = open("log2.txt",O_WRONLY|O_CREAT,0666);
//	int fp3 = open("log3.txt",O_WRONLY|O_CREAT,0666);
//	int fp4 = open("log4.txt",O_WRONLY|O_CREAT,0666);
//	int fp5 = open("log5.txt",O_WRONLY|O_CREAT,0666);
//	int fp6 = open("log6.txt",O_WRONLY|O_CREAT,0666);
//	printf("fp1 : %d\n",fp1);
//	printf("fp2 : %d\n",fp2);
//	printf("fp3 : %d\n",fp3);
//	printf("fp4 : %d\n",fp4);
//	printf("fp5 : %d\n",fp5);
//	printf("fp6 : %d\n",fp6);
//	return 0;
//}

//#define ONE (1<<0)//1
//#define TWO (1<<1)//2
//#define THREE (1<<2)//4
//#define FOUR (1<<3)//8
//
//void show(int flag)
//{
//	if(flag & ONE) printf("hello one\n");
//	if(flag & TWO) printf("hello two\n");
//	if(flag & THREE) printf("hello three\n");
//	if(flag & FOUR) printf("hello four\n");
//}
//
//int main()
//{
//	printf("-----------------------------\n");
//	show(ONE);
//	printf("-----------------------------\n");
//	show(TWO);
//	printf("-----------------------------\n");
//	show(FOUR|THREE);
//	printf("-----------------------------\n");
//	show(ONE|TWO|THREE);
//	return 0;
//}


//int main()
//{
//	printf("pid:%d\n",getpid());
//	FILE* fp = fopen("log.txt","w");
//	if(fp == NULL)
//	{
//		perror("fopen fail");
//		return 1;
//	}
//
//	const char* sum = "abcdefghijklmn\n";
//	//fwrite(sum,sizeof(char),6,fp);
//	fwrite(sum,strlen(sum),1,fp);
//	
//	fwrite(sum,sizeof(char),6,stdout);
//
//	fclose(fp);
////	sleep(1000);
//	return 0;
//}
